package com.cqie.service;

import com.cqie.dto.entrepot.AddEntrepotWarehouseInfoDto;
import com.cqie.entity.EntrepotWarehouseInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cqie.exception.SpecialException;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 不吃海鲜
 * @since 2024-12-05
 */
public interface IEntrepotWarehouseInfoService extends IService<EntrepotWarehouseInfo> {

    /**
     * 新增仓库信息
     * @param addEntrepotWarehouseInfoDto
     * @return
     */
    Boolean addWarehouseInfo(AddEntrepotWarehouseInfoDto addEntrepotWarehouseInfoDto) throws SpecialException;

    /**
     * 查询仓库List
     * @param likeQuery 模糊查询
     * @param state 状态查询 0-全部 1未满 2已满
     * @param pageSize 每页条数
     * @param pageIndex 页码
     * @return
     */
    List<EntrepotWarehouseInfo> getWarehouseInfoList(String likeQuery ,String state, Integer pageSize,
                                                     Integer pageIndex);

    /**
     * 删除仓库信息
     * @param warehouseId 仓库id
     * @return true / false
     */
    Boolean delWarehouseInfo(Integer warehouseId);

    /**
     * 计算仓库数量
     * @return 仓库数量
     */
    Long getWarehouseInfoCount();

    /**
     * 根据仓库id查询仓库信息
     * @param warehouseId 仓库id
     * @return 仓库信息
     */
    EntrepotWarehouseInfo getEntrepotWarehouseInfo(Integer warehouseId);

}
